#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//int maxArea(int* height, int heightSize) {
//    int i = 0;
//    int max = 0;
//    int count = 0;
//    int min = 0;
//    int j = 0;
//    for (i = 0; i < heightSize; i++)
//    {
//        for (j = i+1; j < heightSize; j++)
//        {
//            min = *(height + i);
//            if (*(height + j) < min)
//            {
//                min = *(height + j);
//            }
//            count = (j - i) * min;
//            if (max < count)
//            {
//                max = count;
//            }
//        }
//    }
//    return max;
//}
//
//int main()
//{
//    int arr[] = { 1,8,6,2,5,4,8,3,7 };
//    int sz = sizeof(arr) / sizeof(arr[0]);
//    int ret = maxArea(arr, sz);
//    printf("%d ", ret);
//    return 0;
//}



int threeSumClosest(int* nums, int numsSize, int target) {
    int x = 0;
    int y = 0;
    int z = 0;
    int del = 0;
    int delmin = 10000;
    int sum = 0;
    for (x = 0; x < numsSize-2; x++)
    {
        for (y = x + 1; y < numsSize-1; y++)
        {
            for (z = y + 1 ; z < numsSize; z++)
            {
                if (z == numsSize)
                {
                    break;
                }
                del = target - *(nums + x) - *(nums + y) - *(nums + z);
                if (del < 0)
                {
                    del = 0 - del;
                }
                if (del < delmin)
                {
                    delmin = del;
                    sum = *(nums + x) + *(nums + y) + *(nums + z);
                }
            }
        }
    }
    return sum;
}


int main()
{
    int arr[] = { -1,2,1,-4 };
    int sz = sizeof(arr) / sizeof(arr[0]);
    printf("%d ", threeSumClosest(arr, sz, 1));
    return 0;
}